bool _isSymmetric(struct TreeNode* _left, struct TreeNode* _right)
{
    if (_left == _right)
        return true;
    if (_left == NULL || _right == NULL || _left->val != _right->val)
        return false;

    return _isSymmetric(_left->left, _right->right) && _isSymmetric(_left->right, _right->left);
}
bool isSymmetric(struct TreeNode* root) {
    return _isSymmetric(root->left, root->right);
}